#include "../mqcommon/helper.hpp"

int main(){
    //测试是否存在、文件大小功能
    FileHelper helper("../mqcommon/logger.hpp");
    DLOG("是否存在：%d", helper.exists());
    DLOG("文件大小：%ld", helper.size());

    //测试获取路径、创建目录、创建文件功能
    FileHelper tmp_helper("./aaa/bbb/ccc/tmp.hpp");
    if (tmp_helper.exists() == false){
        std::string path = FileHelper::parentDirectory("./aaa/bbb/ccc/tmp.hpp");
        if(FileHelper(path).exists() == false){
            FileHelper::createDirectory(path);
        }
        FileHelper::createFile("./aaa/bbb/ccc/tmp.hpp");
    }

    //测试读写功能
    std::string body;
    helper.read(body);
    tmp_helper.write(body);

    //测试指定位置读写功能
    char str[16] = {0};
    tmp_helper.read(str, 8, 11);
    DLOG("[%s]",str);
    tmp_helper.write("12345678901", 8, 11);
    
    //测试修改文件名
    tmp_helper.rename("./aaa/bbb/ccc/test.hpp");

    //测试删除文件、删除目录功能
    FileHelper::removeFile("./aaa/bbb/ccc/test.hpp");
    FileHelper::removeDirectory("./aaa");

    return 0;
}
